class Solution {
public:

//局部最优：当前“连续和”为负数的时候⽴刻放弃，从下⼀个元素重新计算“连续和”，因为负数加上下⼀个元素 “连续和”只会越来越⼩。
//全局最优：选取最⼤“连续和”
//局部最优的情况下，并记录最⼤的“连续和”，可以推出全局最优

//也就是说当一个数加到负数的时候,那么他一定会拉低总和
    int maxSubArray(vector<int>& nums) {
        int maxcount = INT_MIN;
        int count = 0;
        for(int i = 0; i < nums.size();i++)
        {
            count += nums[i];
            if(count > maxcount)
            {
                maxcount = count;
            }
            if(count <= 0)
            {
                count = 0;
            }
        }
        return maxcount;
    }
};